package com.yuntian.service.Impl;

import com.yuntian.dto.InventoryConfigDto;
import com.yuntian.entity.ProductMaster;
import com.yuntian.exception.BusinessException;
import com.yuntian.mapper.ProductMapper;
import com.yuntian.service.InventoryConfigService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@Service

public class InventoryConfigServiceImpl implements InventoryConfigService {
    @Autowired
    private ProductMapper productMapper;

    @Override
    public InventoryConfigDto getProductData(String M00201) {
        // 1. 初始化返回对象（避免返回null）
        InventoryConfigDto inventoryConfigDto = new InventoryConfigDto();

        // 2. 先判断参数非空，再调用mapper
        if (M00201 != null && !M00201.isEmpty()) {
            ProductMaster productEntity = productMapper.selectProductByCode(M00201);

            // 3. 判断查询结果非空，再赋值（避免空指针）
            if (productEntity != null) {
                inventoryConfigDto.setM00202(productEntity.getM00202());
                inventoryConfigDto.setM00207(productEntity.getM00207());
            } else {
                // 可选：查询不到数据时的处理（如打印日志）
                throw new BusinessException("M105001E", "M105001E：該当する商品コードがありません。");
            }
        }

        // 4. 返回构造好的dto对象（而非递归调用）
        return inventoryConfigDto;
    }
}